700
Is it possible to display the header using multiple lines(sample 1)

// AddColumn event - Fired after a new column has been added.
FUNCTION treeEvents_AddColumn(OBJECT tree, OBJECT Column)
	' Column.Def(52) = 4
	' Column.Def(53) = 4

END

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 36);
_ObjectSetProperty( tree , "HeaderAppearance", 1);
_ObjectSetProperty( tree , "HeaderSingleLine", 0);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "Column");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "This is a bit of text that should break the header") , "Width", 128);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "This is a bit of text that should break the header") , "Width", 96);
_ObjectCallMethod( tree , "EndUpdate");

699
Is it possible to display the header using multiple lines(sample 2)

// AddColumn event - Fired after a new column has been added.
FUNCTION treeEvents_AddColumn(OBJECT tree, OBJECT Column)
	' Column.Def(52) = 4
	' Column.Def(53) = 4

END

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 36);
_ObjectSetProperty( tree , "HeaderAppearance", 1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "Column");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C1") , "HTMLCaption", "<b>C<off 4>1</b><br>left");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C2") , "HTMLCaption", "<c><b>C<off 4>2</b><br><c>center");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C3") , "HTMLCaption", "<r><b>C<off 4>3</b><br><r>right");
_ObjectCallMethod( tree , "EndUpdate");

698
Is it possible to exclude the parent/child items when do the filtering, so to include only items that match the filter without any indentation

// FilterChange event - Notifies your application that the filter is changed.
FUNCTION treeEvents_FilterChange()
	_ObjectSetProperty( tree , "Indent", _ObjectCallMethod( tree , "FormatABC", "value > 0 ? 18 : 0",_ObjectGetProperty( _ObjectGetProperty( tree , "Items") , "MatchItemCount")));
END

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "Indent", 18);
_ObjectSetProperty( tree , "FilterInclude", 4);
_ObjectSetProperty( tree , "DrawGridLines", 2);
_ObjectSetProperty( tree , "HeaderAppearance", 1);
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Column");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterType", 240);
		_ObjectSetProperty( column , "FilterList", 256);
		_ObjectSetProperty( column , "Filter", "C1");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 rindex ``");
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "AllowDragging", 0);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "R1");
	h2 = _ObjectCallMethod( items , "InsertItem", h,"","S");
	_ObjectCallMethod( items , "InsertItem", h2,"","C1");
	_ObjectCallMethod( items , "InsertItem", h2,"","C2");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "R2");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

697
I would like to display a solid line between "root" items, and dotted lines (default) between child items. How can I do that

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "DrawGridLines", 1);
_ObjectSetProperty( tree , "GridLineStyle", 512);
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJX" +
	"haI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA==");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Position");
	_ObjectSetProperty( column , "FormatColumn", "((1 rindex ``) contains `.`) = 0");
	_ObjectSetProperty( column , "Visible", 0);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%C1");
	_ObjectSetProperty( conditionalformat , "BackColor", 31514848);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	h = _ObjectCallMethod( items , "AddItem", "Root 3");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( tree , "EndUpdate");

696
I can not center or align the cell's caption and icon, when it displays the hierarchy

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","<img>1</img> Task (left)");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","<c><img>2</img> Task (center)");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","<r>Task (right) <img>3</img>");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

695
How do I set an extra data for each item
// MouseMove event - Occurs when the user moves the mouse.
FUNCTION treeEvents_MouseMove(OBJECT tree, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(tree, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", hit)
	i = _ObjectCallMethod(tree, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,i")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", i)
	Message( i );
	Message( _ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemData(i)") );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemData(AddItem(`method 1`)) = `your extra data of method 1`");
	_ObjectCallMethod( items , "InsertItem", 0,"your extra data of method 2","method 2");
items = _ObjectGetProperty( tree , "Items");
	_ObjectSetProperty( items , "DefaultItem", _ObjectCallMethod( items , "AddItem", "method 3"));
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemData(0) = `your extra data of method 3`");
_ObjectCallMethod( tree , "EndUpdate");

694
I do not like to specify the item padding for every column I add. The question is how can I do it automatically

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "AttachTemplate", "handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "GridLineStyle", 32);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "Item");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 32);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "FormatColumn", "1 index ``");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectCallMethod( tree , "EndUpdate");

693
Can I sort the column by check-state

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "SortType", 32);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(),0) = 1");
	_ObjectCallMethod( items , "AddItem", );
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0).SortOrder = 1");
_ObjectCallMethod( tree , "EndUpdate");

692
Can I sort the column by image

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "SortType", 48);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(AddItem(),0) = 3");
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(AddItem(),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(AddItem(),0) = 2");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0).SortOrder = 1");
_ObjectCallMethod( tree , "EndUpdate");

691
How can I display UNICODE characters

OBJECT items,stdfont,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
stdfont = _ObjectGetProperty( tree , "Font");
	_ObjectSetProperty( stdfont , "Name", "Arial Unicode");
	_ObjectSetProperty( stdfont , "Size", 22);
_ObjectSetProperty( tree , "HeaderVisible", 0);
_ObjectSetProperty( tree , "DefaultItemHeight", 48);
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Add(``).Def(17) = 1");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Ӓӓ");
	_ObjectCallMethod( items , "AddItem", "ᦜᦝ;ᦞ");
	_ObjectCallMethod( items , "AddItem", "ɮɭ;ɯ");
	_ObjectCallMethod( items , "AddItem", "勳勴勵勶");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.FormatCell(AddItem(Me.Version),0) = `(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` `");
_ObjectCallMethod( tree , "EndUpdate");

690
How do I display the position of the item with 0-padding
OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items") , "FormatColumn", "((1 apos ``) lpad `00`) + `. `  + value");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
	_ObjectCallMethod( items , "AddItem", "Item D");
_ObjectCallMethod( tree , "EndUpdate");

689
Can't get the +/- to be displayed on a divider item. What else can I do

OBJECT columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "TreeColumnIndex", 0);
_ObjectSetProperty( tree , "MarkSearchColumn", 0);
_ObjectSetProperty( tree , "FullRowSelect", 0);
_ObjectSetProperty( tree , "HeaderAppearance", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C1") , "Width", 32);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C2") , "FormatColumn", "1 index ``");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Cell 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,1) = False");
	h = _ObjectCallMethod( items , "AddItem", "This is bit of text merges all cells in the item (divider shows no +/-)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemBackColor(h) = 15790320");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDividerLine(h) = 0");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Cell 3");
	h = _ObjectCallMethod( items , "AddItem", "This is bit of text merges all cells in the item (merge shows +/-)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemBackColor(h) = 15790320");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellMerge(h,0) = 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 4");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

688
ADODB Requery sample

// CellButtonClick event - Fired after the user clicks on the cell of button type. 
FUNCTION treeEvents_CellButtonClick(OBJECT tree, INT Item, INT ColIndex)
	OBJECT cmd;
	cmd = CreateObject("ADODB.Command");
		_ObjectSetProperty( cmd , "ActiveConnection", _ObjectGetProperty( _ObjectGetProperty( tree , "DataSource") , "ActiveConnection"));
		_ObjectSetProperty( cmd , "CommandText", "INSERT INTO Orders (EmployeeID) VALUES(12345)");
		_ObjectSetProperty( cmd , "CommandType", 1);
		_ObjectCallMethod( cmd , "Execute", );
	_ObjectCallMethod( _ObjectGetProperty( tree , "DataSource") , "Requery", );
END

OBJECT items,rs,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
rs = CreateObject("ADODB.Recordset");
	_ObjectCallMethod( rs , "Open", "Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",1,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%1=12345") , "BackColor", 15790320);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	h = _ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.LockedItem(0,0)");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellHasButton(h,0) = True");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,0) = `Requery (add a new record, using ADODB.Command)`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 1");
_ObjectCallMethod( tree , "EndUpdate");

687
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(26) = `Show/Hide`");
_ObjectSetProperty( tree , "ColumnsFloatBarSortOrder", 1);
_ObjectSetProperty( tree , "ColumnsFloatBarVisible", 2);
_ObjectCallMethod( tree , "EndUpdate");

686
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(26) = `Show`");
_ObjectSetProperty( tree , "ColumnsFloatBarVisible", -1);
_ObjectSetProperty( tree , "ColumnsFloatBarSortOrder", 1);
_ObjectCallMethod( tree , "EndUpdate");

685
Type of wraps the cell's caption support (Sample 2)

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderSingleLine", 0);
_ObjectSetProperty( tree , "HeaderHeight", 36);
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ScrollBySingleLine", -1);
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Single-Line (exCaptionSingleLine)");
		_ObjectSetProperty( column , "Width", 96);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = -1");
	column = _ObjectCallMethod( columns , "Add", "Word-Wrap (exCaptionWordWrap)");
		_ObjectSetProperty( column , "Width", 96);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = 0");
		_ObjectSetProperty( column , "FormatColumn", "%0");
	column = _ObjectCallMethod( columns , "Add", "Break-Wrap (exCaptionBreakWrap)");
		_ObjectSetProperty( column , "Width", 96);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = 1");
		_ObjectSetProperty( column , "FormatColumn", "%0");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.");
	_ObjectCallMethod( items , "AddItem", "This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.");
_ObjectCallMethod( tree , "EndUpdate");

684
Type of wraps the cell's caption support (Sample 1)

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderSingleLine", 0);
_ObjectSetProperty( tree , "HeaderHeight", 36);
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ScrollBySingleLine", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default") , "Width", 128);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	h = _ObjectCallMethod( items , "AddItem", "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	h = _ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 0");
	h = _ObjectCallMethod( items , "AddItem", "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 0");
	h = _ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 1");
	h = _ObjectCallMethod( items , "AddItem", "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 1");
_ObjectCallMethod( tree , "EndUpdate");

683
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ScrollBySingleLine", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default") , "Width", 128);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(AddItem(`This is the first line.\r\nThis is the second line.\r\nThis is the third line.`),0) = 1");
	_ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
_ObjectCallMethod( tree , "EndUpdate");

682
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ScrollBySingleLine", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectSetProperty( column , "Width", 128);
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = 1");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	_ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
_ObjectCallMethod( tree , "EndUpdate");

681
How can I change the visual appearance/color of the Filter For ... field

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "BackColorHeader", 1);
_ObjectSetProperty( tree , "ForeColorHeader", 16777215);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(26) = BackColorHeader");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(27) = ForeColorHeader");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 15790320");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = -1");
_ObjectSetProperty( tree , "HeaderAppearance", 5);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "FilterOnType", -1);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 2);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( tree , "EndUpdate");

680
How can I display the cell's caption without spaces on both sides

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "    Item B");
	_ObjectCallMethod( items , "AddItem", "        Item   C    ");
_ObjectCallMethod( tree , "EndUpdate");

679
How can I highlight the spaces within the column (sample 2)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "`'` + ( value replace ` ` with `_` ) + `'`");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "    Item B");
	_ObjectCallMethod( items , "AddItem", "        Item   C    ");
_ObjectCallMethod( tree , "EndUpdate");

678
How can I highlight the spaces within the column (sample 1)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "    Item B");
	_ObjectCallMethod( items , "AddItem", "        Item   C    ");
_ObjectCallMethod( tree , "EndUpdate");

677
How can I change the visual aspect of the drop down filter-calendar

OBJECT column,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(26) = 65536");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(27) = 16777215");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(12) = 16777215");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(8) = Background(26)");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(11) = 8421504");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "FilterType", 4);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
_ObjectCallMethod( tree , "EndUpdate");

676
Export Data in HTML format

OBJECT column,columns,conditionalformat,conditionalformats,createobject("internetexplorer.application"),items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "BackColorAlternate", 15790320);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace " +
	"`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matc" +
	"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
	"nt + ` item(s)`) )))");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2579);
_ObjectSetProperty( tree , "FilterBarPromptType", 2);
conditionalformats = _ObjectGetProperty( tree , "ConditionalFormats");
	_ObjectSetProperty( _ObjectCallMethod( conditionalformats , "Add", "%0 like `*parent*`","parent") , "BackColor", 12632256);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%0 like `*child*`","child");
		_ObjectSetProperty( conditionalformat , "ForeColor", 8421631);
		_ObjectSetProperty( conditionalformat , "ApplyTo", 0);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%0 like `*B*`","b");
		_ObjectSetProperty( conditionalformat , "ForeColor", 16711680);
		_ObjectSetProperty( conditionalformat , "Bold", -1);
		_ObjectSetProperty( conditionalformat , "Italic", -1);
		_ObjectSetProperty( conditionalformat , "ApplyTo", 0);
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Value");
		_ObjectSetProperty( column , "Width", 128);
		_ObjectSetProperty( column , "HTMLCaption", "<b>VA</b><r>sko");
	column = _ObjectCallMethod( columns , "Add", "APos");
		_ObjectSetProperty( column , "FormatColumn", "0 apos ``");
		_ObjectSetProperty( column , "AllowSort", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(4) = 15790320");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "RPos");
		_ObjectSetProperty( column , "FormatColumn", "0 rpos ``");
		_ObjectSetProperty( column , "AllowSort", 0);
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "Index");
		_ObjectSetProperty( column , "FormatColumn", "0 index ``");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterList", 256);
		_ObjectSetProperty( column , "Position", 2);
	column = _ObjectCallMethod( columns , "Add", "Data 1");
		_ObjectSetProperty( column , "FormatColumn", "0 index `A-Z`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	column = _ObjectCallMethod( columns , "Add", "Data 2");
		_ObjectSetProperty( column , "FormatColumn", "0 index `AB` replace `A` with `<off -4>A</off>`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = False");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(1) = True");
	column = _ObjectCallMethod( columns , "Add", "Data 3");
		_ObjectSetProperty( column , "FormatColumn", "0 index `CDC` replace `D` with `<b>D</b>`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "ParentA");
	_ObjectCallMethod( items , "InsertItem", h,"","Child A");
	_ObjectCallMethod( items , "InsertItem", h,"","Child B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,4) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBackColor(InsertItem(h,,`Child C`),5) = 65280");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod( items , "AddItem", "Item A");
	h = _ObjectCallMethod( items , "AddItem", "ParentB");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBackColor(InsertItem(h,,`Child 3`),5) = 65280");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,5) = 1");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
	_ObjectCallMethod( items , "AddItem", "Item D");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");
sFile = "c:/temp/export.html";
_ObjectCallMethod( tree , "Export", sFile,"vis");
createobject("internetexplorer.application") = CreateObject("InternetExplorer.Application");
	_ObjectCallMethod( createobject("internetexplorer.application") , "Navigate2", sFile);

675
Export Data in CSV format

OBJECT column,columns,conditionalformat,conditionalformats,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "BackColorAlternate", 15790320);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace " +
	"`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matc" +
	"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
	"nt + ` item(s)`) )))");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2579);
_ObjectSetProperty( tree , "FilterBarPromptType", 2);
conditionalformats = _ObjectGetProperty( tree , "ConditionalFormats");
	_ObjectSetProperty( _ObjectCallMethod( conditionalformats , "Add", "%0 like `*parent*`","parent") , "BackColor", 12632256);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%0 like `*child*`","child");
		_ObjectSetProperty( conditionalformat , "ForeColor", 8421631);
		_ObjectSetProperty( conditionalformat , "ApplyTo", 0);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%0 like `*B*`","b");
		_ObjectSetProperty( conditionalformat , "ForeColor", 16711680);
		_ObjectSetProperty( conditionalformat , "Bold", -1);
		_ObjectSetProperty( conditionalformat , "Italic", -1);
		_ObjectSetProperty( conditionalformat , "ApplyTo", 0);
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Value");
		_ObjectSetProperty( column , "Width", 128);
		_ObjectSetProperty( column , "HTMLCaption", "<b>VA</b><r>sko");
	column = _ObjectCallMethod( columns , "Add", "APos");
		_ObjectSetProperty( column , "FormatColumn", "0 apos ``");
		_ObjectSetProperty( column , "AllowSort", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(4) = 15790320");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "RPos");
		_ObjectSetProperty( column , "FormatColumn", "0 rpos ``");
		_ObjectSetProperty( column , "AllowSort", 0);
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "Index");
		_ObjectSetProperty( column , "FormatColumn", "0 index ``");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterList", 256);
		_ObjectSetProperty( column , "Position", 2);
	column = _ObjectCallMethod( columns , "Add", "Data 1");
		_ObjectSetProperty( column , "FormatColumn", "0 index `A-Z`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	column = _ObjectCallMethod( columns , "Add", "Data 2");
		_ObjectSetProperty( column , "FormatColumn", "0 index `AB` replace `A` with `<off -4>A</off>`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = False");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(1) = True");
	column = _ObjectCallMethod( columns , "Add", "Data 3");
		_ObjectSetProperty( column , "FormatColumn", "0 index `CDC` replace `D` with `<b>D</b>`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "ParentA");
	_ObjectCallMethod( items , "InsertItem", h,"","Child A");
	_ObjectCallMethod( items , "InsertItem", h,"","Child B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,4) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBackColor(InsertItem(h,,`Child C`),5) = 65280");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod( items , "AddItem", "Item A");
	h = _ObjectCallMethod( items , "AddItem", "ParentB");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBackColor(InsertItem(h,,`Child 3`),5) = 65280");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,5) = 1");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
	_ObjectCallMethod( items , "AddItem", "Item D");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");
Message( _ObjectCallMethod( tree , "Export", "","vis") );

674
Is it possible to check multiple-items at once

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	OBJECT items;
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	bHasParent = _ObjectCallMethod( tree , "FormatABC", "value != 0",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemParent(Item)"));
	items = _ObjectGetProperty( tree , "Items");
		_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(tree, "TemplatePut", items)
		_ObjectCallMethod(tree, "TemplatePut", Item)
		_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellHasCheckBox(Item,0) = bHasParent");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
_ObjectSetProperty( tree , "HeaderVisible", 1);
_ObjectSetProperty( tree , "SingleSel", 0);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(LockedItem(0,0),0) = `<c>Select multiple items and press the <b>SPACE</b> key`");
_ObjectCallMethod( tree , "EndUpdate");

673
How can I get the icon from the cell when using the Items.CellImages property (icon index)

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION treeEvents_MouseMove(OBJECT tree, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(tree, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", hit)
	i = _ObjectCallMethod(tree, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,c,i")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", i)
	Message( _ObjectCallMethod( tree , "FormatABC", "( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`",hit,_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.CellImages(i,c)")) );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 1`),0) = `3,2,1`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 2`),0) = `2,3`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 3`),0) = `2,`");
_ObjectCallMethod( tree , "EndUpdate");

672
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION treeEvents_MouseMove(OBJECT tree, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(tree, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", hit)
	i = _ObjectCallMethod(tree, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	Message( _ObjectCallMethod( tree , "FormatABC", "( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit) );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 1`),0) = `3,2,1`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 2`),0) = `2,3`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 3`),0) = `2`");
_ObjectCallMethod( tree , "EndUpdate");

671
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

OBJECT appearance,columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectCallMethod( columns , "Add", "Column 2");
	_ObjectCallMethod( columns , "Add", "Column 3");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzV" +
	"IUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4" +
	"aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DB" +
	"eEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +
	"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAok" +
	"GKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=");
	_ObjectCallMethod( appearance , "Add", 2,"CP:1 0 -36 0 0");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(182) = 33554432");
_ObjectCallMethod( tree , "EndUpdate");

670
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
_ObjectSetProperty( tree , "DefaultItemHeight", 20);
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1m" +
	"Y1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2h" +
	"hWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY" +
	"6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" +
	"JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd" +
	"0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Position");
	_ObjectSetProperty( column , "FormatColumn", "1 rindex ``");
	_ObjectSetProperty( column , "Visible", 0);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%C1 mod 2");
	_ObjectSetProperty( conditionalformat , "BackColor", 16777216);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
	_ObjectCallMethod( items , "AddItem", "Item 4");
_ObjectCallMethod( tree , "EndUpdate");

669
How can I specify alternate background colors for each root item, similar with BackColorAlternate

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Position");
	_ObjectSetProperty( column , "FormatColumn", "( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )");
	_ObjectSetProperty( column , "Visible", 0);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%C1 mod 2");
	_ObjectSetProperty( conditionalformat , "BackColor", 15790320);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	h = _ObjectCallMethod( items , "AddItem", "Root 3");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( tree , "EndUpdate");

668
Is it possible to change the caption from a column without to remove the column and add it with the new caption
OBJECT tree;

tree =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "ColumnName") , "Caption", "NewName");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "ColumnName") , "HTMLCaption", "<b>New</b>Name");

667
FilterBarCaption ALL Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[" +
	"<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchi" +
	"temcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount" +
	" + ` item(s)`) )))");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

666
FilterBarCaption ALL Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "all");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

665
FilterBarCaption ALLUI Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace " +
	"`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matc" +
	"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
	"nt + ` item(s)`) )))");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

664
FilterBarCaption ALLUI Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "allui");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

663
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( ava" +
	"ilable replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `" +
	"` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount" +
	" + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

662
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "value + ` ` + available");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

661
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item B`),1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080>` + value + `</fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) +" +
	" ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replac" +
	"e `]` with ` </b></bgcolor></fgcolor>`");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 256);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "*B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

660
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item B`),1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080>` + value + `</fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 256);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "*B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

659
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item B`),1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080>` + value + `</fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 256);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "*B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

658
Is it possible to automatically displays the control's filter label to the right

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarCaption", "`<r>` + value");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1280);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

657
How can I get the number of results/items being shown in the control's filter bar (sample 4)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarPrompt", _ObjectCallMethod( tree , "FormatABC", "`<b>` + value",_ObjectGetProperty( tree , "FilterBarPrompt")));
_ObjectSetProperty( tree , "FilterBarCaption", "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount " +
	"+ 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3591);
_ObjectCallMethod( tree , "EndUpdate");

656
How can I get the number of results being shown in the control's filter bar (sample 3)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount " +
	"+ 1) + ` result(s)` ) : ``)");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2055);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

655
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2071);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

654
How can I get the number of results being shown in the control's filter bar (sample 1)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 7);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

653
FilterBarCaption Predefined Keywords

// AfterExpandItem event - Fired after an item is expanded (collapsed).
FUNCTION treeEvents_AfterExpandItem(OBJECT tree, INT Item)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(InsertItem(h,,`Sub-Item B1`),1) = 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Sub-Item B2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterInclude", 1);
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</" +
	"i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>" +
	": ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF>" +
	"<i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</" +
	"i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=8" +
	"08080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount +" +
	" `</fgcolor>`");
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 7);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

652
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value");
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2067);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

651
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1281);
_ObjectSetProperty( tree , "FilterBarPrompt", _ObjectCallMethod( tree , "FormatABC", "`<r>` + value",_ObjectGetProperty( tree , "FilterBarPrompt")));
_ObjectCallMethod( tree , "EndUpdate");

650
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "RightToLeft", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 257);
_ObjectCallMethod( tree , "EndUpdate");

649
How can I change the visual appearance of the filter bar's close button (EBN)

OBJECT appearance,column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJ" +
	"jyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKm" +
	"SZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OR" +
	"OicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" +
	"DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJX" +
	"AiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaK" +
	"JDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G" +
	"0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" +
	"kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRS" +
	"MRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhA" +
	"QHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 257);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(1) = 16777216");
_ObjectCallMethod( tree , "EndUpdate");

648
How can I change the visual appearance of the filter bar's close button (solid)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(1) = 255");
_ObjectCallMethod( tree , "EndUpdate");

647
Is it possible to prevent definitely showing the filter bar's close button

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(1) = -1");
_ObjectCallMethod( tree , "EndUpdate");

646
Is it possible to show the close button only if there is a filter applied

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 513);
_ObjectCallMethod( tree , "EndUpdate");

645
The control's filter bar is not closed once I click the close button (toggle)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.LockedItemCount(2) = 1");
	h = _ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.LockedItem(2,0)");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,0) = `<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus.`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
_ObjectSetProperty( tree , "FilterBarCaption", "`<r><fgcolor=808080>` + value");
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2323);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

644
How can I display the control's filter on a single line

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarCaption", "len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 18);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

643
How can I display the control's filter on a single line (prompt-combined)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarCaption", "`<r>` + value");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2067);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

642
How can I get the number of results after a filter is applied

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
FUNCTION treeEvents_Click()
	_ObjectCallMethod( tree , "ClearFilter");
END

// FilterChange event - Notifies your application that the filter is changed.
FUNCTION treeEvents_FilterChange()
	Message( "Items.MatchItemCount" );
	Message( _ObjectGetProperty( _ObjectGetProperty( tree , "Items") , "MatchItemCount") );
	Message( _ObjectCallMethod( tree , "FormatABC", "value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",_ObjectGetProperty( _ObjectGetProperty( tree , "Items") , "MatchItemCount")) );
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1);
_ObjectSetProperty( tree , "FilterBarPromptPattern", "Item");
_ObjectCallMethod( tree , "EndUpdate");

641
How can I programmatically clear the control's filter

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
FUNCTION treeEvents_Click()
	_ObjectCallMethod( tree , "ClearFilter");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1);
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectCallMethod( tree , "EndUpdate");

640
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

639
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1);
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectCallMethod( tree , "EndUpdate");

638
Is it possible to prevent closing the control's filter bar, so it is always shown

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarCaption", "len(value) = 0 ? `<fgcolor=808080>no filter` : value");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

637
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "VisualDesign", "gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGc" +
	"TSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCi" +
	"CQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4" +
	"bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6" +
	"N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhg" +
	"hWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkM" +
	"hAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggl" +
	"oFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyT" +
	"KMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBh" +
	"FkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDE" +
	"gEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xx" +
	"SCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" +
	"BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ=");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( tree , "EndUpdate");

636
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

OBJECT appearance,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 3,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
	"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
	"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
	"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=");
	_ObjectCallMethod( appearance , "Add", 1,"CP:3 -2 -2 2 2");
	_ObjectCallMethod( appearance , "Add", 4,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
	"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
	"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
	"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=");
	_ObjectCallMethod( appearance , "Add", 2,"CP:4 -2 -2 2 2");
_ObjectSetProperty( tree , "LinesAtRoot", 1);
_ObjectSetProperty( tree , "HasButtons", 4);
_ObjectCallMethod(tree, "ExecuteTemplate", "HasButtonsCustom(0) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "HasButtonsCustom(1) = 33554432");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( tree , "EndUpdate");

635
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

OBJECT appearance,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"XP:TREEVIEW 2 1");
	_ObjectCallMethod( appearance , "Add", 2,"XP:TREEVIEW 2 2");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(180) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(181) = 33554432");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( tree , "EndUpdate");

634
How can I find if the control is running in DPI mode
OBJECT tree;

tree =  ObjectByName("AN1") ;
Message( _ObjectCallMethod( tree , "FormatABC", "dpi = 1 ? `normal/stretch mode` : `dpi mode`") );

633
How can I change the visual appearance of the +/- buttons (method 1)

OBJECT appearance,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
	"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
	"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
	"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
	"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
	"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
	"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(180) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(181) = 33554432");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( tree , "EndUpdate");

632
I am using single selection, the question is if possible to select an item only when the user releases the mouse, as currently it selects the item as soon as the user clicks it
// SelectionChanged event - Fired after a new item has been selected.
FUNCTION treeEvents_SelectionChanged()
	Message( "SelectionChanged" );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "FreezeEvents", -1);
_ObjectSetProperty( tree , "SingleSel", -1);
_ObjectSetProperty( tree , "SelectOnRelease", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column") , "FormatColumn", "1 apos `A-Z`");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(AddItem(``)) = True");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( tree , "FreezeEvents", 0);
_ObjectCallMethod( tree , "EndUpdate");

631
Is it possible to select nothing
// SelectionChanged event - Fired after a new item has been selected.
FUNCTION treeEvents_SelectionChanged()
	Message( "SelectionChanged" );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "FreezeEvents", -1);
_ObjectSetProperty( tree , "AllowSelectNothing", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column") , "FormatColumn", "1 apos `A-Z`");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(AddItem(``)) = True");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( tree , "FreezeEvents", 0);
_ObjectCallMethod( tree , "EndUpdate");

630
How can I specify the color for control's selection when it loses the focus

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowDragging", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 24);
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(2) = True");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column") , "FormatColumn", "1 apos `A-Z`");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(AddItem(``)) = True");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(166) = 12895428");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(167) = 65536");
_ObjectCallMethod( tree , "EndUpdate");

629
How can I change the background color for checked items (EBN color, frame)

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT appearance,column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "SelBackMode", 1);
_ObjectSetProperty( tree , "DefaultItemHeight", 22);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEc" +
	"x9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJc" +
	"FqXFSLVxNBKAQEBA=");
	_ObjectCallMethod( appearance , "Add", 1,"CP:2 1 1 -1 -1");
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0 = 1");
	_ObjectSetProperty( conditionalformat , "BackColor", 16777216);
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

628
How can I change the caption of the checked items (sample 2)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "%CS0 = 1 ? `<bgcolor=000000><fgcolor=FFFFFF> ` + value + ` </fgcolor></bgcolor>` : value");
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

627
How can I change the caption of the checked items (sample 1)

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

626
How can I change the font for the checked items

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT column,conditionalformat,f,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "DefaultItemHeight", 22);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0 = 1");
	f = CreateObject("StdFont");
		_ObjectSetProperty( f , "Name", _ObjectGetProperty( _ObjectGetProperty( tree , "Font") , "Name"));
		_ObjectSetProperty( f , "Size", 12);
	_ObjectSetProperty( conditionalformat , "Font", f);
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

625
How can I bold the checked items

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0 = 1");
	_ObjectSetProperty( conditionalformat , "Bold", -1);
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

624
How can I change the foreground color for checked items

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "SelBackMode", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0 = 1");
	_ObjectSetProperty( conditionalformat , "ForeColor", 8421631);
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

623
How can I change the background color for checked items (solid color)

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "SelBackMode", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0 = 1");
	_ObjectSetProperty( conditionalformat , "BackColor", 8421631);
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

622
How can I export the cell's state as well

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", columns)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Add(`C1`).Def(0) = True");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C2") , "FormatColumn", "1 index `A-Z`");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C3") , "FormatColumn", "100 index ``");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`)) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 3`)) = 1");
_ObjectCallMethod( tree , "EndUpdate");
Message( "Export CSV Items including Check-State:" );
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectSetProperty( column , "Position", 0);
	_ObjectSetProperty( column , "FormatColumn", "%CS0");
Message( _ObjectCallMethod( tree , "Export", "") );
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Remove", "Check");
_ObjectCallMethod( tree , "EndUpdate");

621
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that (method 2)
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
FUNCTION treeEvents_BeforeExpandItem(OBJECT tree, INT Item, VARIANT Cancel)
	Message( "BeforeExpandItem" );
	Message( Item );
	Message( "ColumnFromPoint" );
	Message( _ObjectCallMethod(tree, "ExecuteTemplate", "ColumnFromPoint(-1,-1)") );
	Message( "ColumnFromPoint return -1, if the user clicks the +/- glitch, else it returns the index of the column where the click occurs." );
	_ObjectCallMethod( _ObjectGetProperty( tree , "Items") , "InsertItem", Item,"","new child");
END

OBJECT columns,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Items") , "DisplayFilterButton", -1);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHasChildren(InsertItem(,,`Group 1`)) = True");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHasChildren(InsertItem(,,`Group 2`)) = True");
_ObjectCallMethod( tree , "EndUpdate");

620
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that (method 1)
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
FUNCTION treeEvents_BeforeExpandItem(OBJECT tree, INT Item, VARIANT Cancel)
	Message( "BeforeExpandItem" );
	Message( Item );
	_ObjectCallMethod( _ObjectGetProperty( tree , "Items") , "InsertItem", Item,"","new child");
END

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Items");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterList", 4);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHasChildren(InsertItem(,,`Group 1`)) = True");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHasChildren(InsertItem(,,`Group 2`)) = True");
_ObjectCallMethod( tree , "EndUpdate");

619
How do I change the drop down filter icon/button (black)

OBJECT appearance,column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ" +
	"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
	"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = -1");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(26) = 65536");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(27) = 16777215");
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(25) = `<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>`");
_ObjectSetProperty( tree , "HeaderAppearance", 0);
_ObjectSetProperty( tree , "BackColorHeader", 0);
_ObjectSetProperty( tree , "ForeColorHeader", 16777215);
_ObjectSetProperty( tree , "HeaderVisible", -1);
_ObjectSetProperty( tree , "BackColorLevelHeader", _ObjectGetProperty( tree , "BackColor"));
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Filter");
	_ObjectSetProperty( column , "FilterList", 8448);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "AllowDragging", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "One");
	_ObjectCallMethod( items , "AddItem", "Two");
	_ObjectCallMethod( items , "AddItem", "Three");
_ObjectCallMethod( tree , "EndUpdate");

618
How do I change the drop down filter icon/button (white)

OBJECT appearance,column,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN" +
	"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
	"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
	"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
	"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
	"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=");
	_ObjectCallMethod( appearance , "Add", 1,"CP:2 -14 -4 -2 4");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = BackColor");
_ObjectSetProperty( tree , "HeaderAppearance", 0);
_ObjectSetProperty( tree , "BackColorHeader", 16777215);
_ObjectSetProperty( tree , "HeaderVisible", -1);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "BackColorLevelHeader", _ObjectGetProperty( tree , "BackColor"));
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Filter");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "AllowDragging", 0);
_ObjectCallMethod( tree , "EndUpdate");

617
Do you have any Fit-To-Page options when printing the control (W x T, Fit-To )

OBJECT createobject("exontrol.print"),rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectCallMethod( tree , "EndUpdate");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "Options", "FitToPage =2 x 1");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", tree);
	_ObjectCallMethod( createobject("exontrol.print") , "Preview");

616
Do you have any Fit-To-Page options when printing the control ( x T, Fit-To Tall )

OBJECT createobject("exontrol.print"),rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectCallMethod( tree , "EndUpdate");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "Options", "FitToPage = x 2");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", tree);
	_ObjectCallMethod( createobject("exontrol.print") , "Preview");

615
Do you have any Fit-To-Page options when printing the control ( W x, Fit-To Wide )

OBJECT createobject("exontrol.print"),rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectCallMethod( tree , "EndUpdate");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "Options", "FitToPage = 2 x");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", tree);
	_ObjectCallMethod( createobject("exontrol.print") , "Preview");

614
Do you have any Fit-To-Page options when printing the control ( percent view, Adjust-To )

OBJECT createobject("exontrol.print"),rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectCallMethod( tree , "EndUpdate");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "Options", "FitToPage = 50%");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", tree);
	_ObjectCallMethod( createobject("exontrol.print") , "Preview");

613
How do I prevent changing the cell's state ( check-box state )
// CellStateChanging event - Fired before cell's state is about to be changed.
FUNCTION treeEvents_CellStateChanging(OBJECT tree, INT Item, INT ColIndex, INT NewState)
	OBJECT items;
	items = _ObjectGetProperty( tree , "Items");
		_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,ColIndex,Item")
		_ObjectCallMethod(tree, "TemplatePut", items)
		_ObjectCallMethod(tree, "TemplatePut", ColIndex)
		_ObjectCallMethod(tree, "TemplatePut", Item)
		NewState = _ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(Item,ColIndex)");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "P1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "P2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

612
How can I use the CellState with ConditionalFormat/ComputedField/FormatColumn

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", 4);
_ObjectSetProperty( tree , "SelBackMode", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Format");
	_ObjectSetProperty( column , "FormatColumn", "%CS0");
	_ObjectSetProperty( column , "Caption", _ObjectGetProperty( column , "FormatColumn"));
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Item 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(InsertItem(h,,`Item 2`),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(InsertItem(h,,`Item 3`),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

611
How can I use the CellData with ConditionalFormat/ComputedField/FormatColumn

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Format");
	_ObjectSetProperty( column , "FormatColumn", "%CD0");
	_ObjectSetProperty( column , "Caption", _ObjectGetProperty( column , "FormatColumn"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellData(AddItem(`Item 1`),0) = 1234");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellData(AddItem(`Item 2`),0) = `this is just an user data`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellData(AddItem(`Item 3`),0) = #1/1/2001#");
_ObjectCallMethod( tree , "EndUpdate");

610
How can I use the CellCaption with ConditionalFormat/ComputedField/FormatColumn

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Format");
	_ObjectSetProperty( column , "FormatColumn", "%0");
	_ObjectSetProperty( column , "Caption", _ObjectGetProperty( column , "FormatColumn"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
	_ObjectSetProperty( column , "Width", 96);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Format");
	_ObjectSetProperty( column , "FormatColumn", "%C0");
	_ObjectSetProperty( column , "Caption", _ObjectGetProperty( column , "FormatColumn"));
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
	_ObjectSetProperty( column , "Width", 96);
	_ObjectSetProperty( column , "AllowSizing", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", 1);
	h = _ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,0) = `<b>HTML</b> Text`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	_ObjectCallMethod( items , "AddItem", 2);
_ObjectCallMethod( tree , "EndUpdate");

609
Can I display the radio-button with a solid color

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod(tree, "ExecuteTemplate", "RadioImage(0) = 32699122");
_ObjectCallMethod(tree, "ExecuteTemplate", "RadioImage(1) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Add(`Check`).Def(1) = True");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Radio 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Radio 2`),0) = 1");
	_ObjectCallMethod( items , "AddItem", "Radio 1");
_ObjectCallMethod( tree , "EndUpdate");

608
Can I display the check-box with a solid color

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod(tree, "ExecuteTemplate", "CheckImage(0) = 32699122");
_ObjectCallMethod(tree, "ExecuteTemplate", "CheckImage(1) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Add(`Check`).Def(0) = True");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Check 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Check 2`),0) = 1");
	_ObjectCallMethod( items , "AddItem", "Check 3");
_ObjectCallMethod( tree , "EndUpdate");

607
Can I display the column's multiple-lines caption vertically oriented (method 2)

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 48);
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "And others ...");
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "First Column");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "<c><b>Second Column");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "<r>Third Column");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 2);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 1`),3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`),2) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 3`),1) = 1");
_ObjectCallMethod( tree , "EndUpdate");

606
Can I display the column's multiple-lines caption vertically oriented (method 1)

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 48);
_ObjectSetProperty( tree , "HeaderSingleLine", 0);
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "And others ...");
	column = _ObjectCallMethod( columns , "Add", "First Column");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "Second Column");
		_ObjectSetProperty( column , "HeaderBold", -1);
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "Third Column");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 2);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 1`),3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`),2) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 3`),1) = 1");
_ObjectCallMethod( tree , "EndUpdate");

605
Can I display the column's caption vertically oriented (method 2)

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 48);
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "And others ...");
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "First");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "<c><b>Second");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "<r>Third");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 2);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 1`),3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`),2) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 3`),1) = 1");
_ObjectCallMethod( tree , "EndUpdate");

604
Can I display the column's caption vertically oriented (method 1)

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 48);
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "And others ...");
	column = _ObjectCallMethod( columns , "Add", "First");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "Second");
		_ObjectSetProperty( column , "HeaderBold", -1);
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "Third");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 2);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 1`),3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`),2) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 3`),1) = 1");
_ObjectCallMethod( tree , "EndUpdate");

603
How do I automatically bold items being checked

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
END

OBJECT conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "SelBackMode", 1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0","check");
	_ObjectSetProperty( conditionalformat , "Bold", -1);
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Add(`Items`).Def(0) = True");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", _ObjectCallMethod(tree, "ExecuteTemplate", ".ConditionalFormats.Item(`check`).Expression")) , "FormatColumn", _ObjectCallMethod(tree, "ExecuteTemplate", ".ConditionalFormats.Item(`check`).Expression"));
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`),0) = 1");
	_ObjectCallMethod( items , "AddItem", "Item 3");
_ObjectCallMethod( tree , "EndUpdate");

602
How can I include the child items, when a filter is applied

OBJECT columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
_ObjectSetProperty( tree , "MarkSearchColumn", 0);
_ObjectSetProperty( tree , "SearchColumnIndex", 1);
_ObjectSetProperty( tree , "Indent", 16);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "FilterBarPromptVisible", -1);
_ObjectSetProperty( tree , "FilterBarPromptPattern", "Nancy");
_ObjectSetProperty( tree , "FilterInclude", 1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Name") , "Width", 96);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Title") , "Width", 96);
	_ObjectCallMethod( columns , "Add", "City");
items = _ObjectGetProperty( tree , "Items");
	h0 = _ObjectCallMethod( items , "AddItem", "Nancy Davolio");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h0")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h0)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "InsertItem", h0,"","Andrew Fuller");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Vice President, Sales`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Tacoma`");
	h0 = _ObjectCallMethod( items , "InsertItem", h0,"","Michael Suyama");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Janet Leverling");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Kirkland`");
	h0 = _ObjectCallMethod( items , "InsertItem", h0,"","Margaret Peacock");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Redmond`");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

601
How do I get sorted the column as string, numeric, date, date and time. Also how can it be applied to drop down filter panel

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "SortType", 2);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "FilterList", 1296);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "DateTime");
	_ObjectSetProperty( column , "SortType", 3);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 1296);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Time");
	_ObjectSetProperty( column , "SortType", 4);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 1296);
	_ObjectSetProperty( column , "FormatColumn", "time(value)");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Numeric");
	_ObjectSetProperty( column , "SortType", 1);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 1296);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "String");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 1296);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "1/27/2010");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = #1/27/2010 10:00:00 AM#");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,2) = CellCaption(h,1)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,4) = CellCaption(h,3)");
	h = _ObjectCallMethod( items , "AddItem", "1/27/2011");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = #1/27/2011 9:00:00 AM#");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,2) = CellCaption(h,1)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = 11");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,4) = CellCaption(h,3)");
	h = _ObjectCallMethod( items , "AddItem", "11/2/2010");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = #11/2/2010 9:00:00 AM#");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,2) = CellCaption(h,1)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,4) = CellCaption(h,3)");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(`DateTime`).DisplayFilterDate = False");
_ObjectCallMethod( tree , "EndUpdate");